# 导入jieba库
import jieba
# 统计三国演义中的词频
def countWord():
    # 排除无关词汇
    excludes = {"将军", "却说", "荆州", "二人", "不可", "不能", "如此"}
    # 打开文件，读取文件
    txt = open("三国演义.txt", "r", encoding="utf-8").read()
    # 进行分割
    words = jieba.lcut(txt)
    # 统计结果，整合处理
    counts = {}
    for word in words:
        if len(word) == 1:
            continue
        elif word == "诸葛亮" or word == "孔明曰":
            rword = "孔明"
        elif word == "关公" or word == "云长":
            rword = "关羽"
        elif word == "玄德" or word == "玄德曰":
            rword = "刘备"
        elif word == "孟德" or word == "丞相":
            rword = "曹操"
        else:
            rword = word
        counts[rword] = counts.get(rword, 0) + 1
    # 去除无关词汇
    for word in excludes:
        del(counts[word])
    # 进行排序
    items = list(counts.items())
    items.sort(key = lambda x:x[1], reverse=True)
    for i in range(5):
        word, count = items[i]
        print("{0:<10}{1:5}".format(word, count))
# 返回结果
res = countWord()
print("前五个高频词:",res)